home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 10 / CU Amiga Magazine's Super CD-ROM 10 (1997-03-15)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-05][50887 CUAM10].iso / CUCD / Graphics / MPMorph / Install < prev    next >
Text File  |  1997-02-18  |  14KB  |  744 lines

  1. ; MPMorph - Amiga Morphing program
  2. ; Copyright (C) © 1993-96 Mark John Paddock
  3.  
  4. ; This program is free software; you can redistribute it and/or modify
  5. ; it under the terms of the GNU General Public License as published by
  6. ; the Free Software Foundation; either version 2 of the License, or
  7. ; any later version.
  8.  
  9. ; This program is distributed in the hope that it will be useful,
  10. ; but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. ; GNU General Public License for more details.
  13.  
  14. ; You should have received a copy of the GNU General Public License
  15. ; along with this program; if not, write to the Free Software
  16. ; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  
  18. ; mpaddock@cix.compulink.co.uk
  19.  
  20. ; This is the script to install MPMorph
  21. ; $VER: MPMorph-Install 4.4 (18.2.97)
  22.  
  23. (complete 1)
  24.  
  25. ; determine if in place or new drawer install
  26. (Set #InPlace
  27.     (askchoice
  28.         (prompt "Where do you want to install?\n\n"
  29.                 "If you have unpacked MPMorph 4.4 directly to the place you "
  30.                 "wish to run it from then select 'In Place', otherwise select 'New Drawer' "
  31.                 "to copy the relevant files to a new drawer")
  32.         (help @askchoice-help)
  33.         (choices "New Drawer" "In Place")
  34.         (default 1)
  35.     )
  36. )
  37.  
  38. (complete 2)
  39.  
  40. ; Ask for destination if not in place
  41. (if (NOT #InPlace)
  42.     (set #InstallDir
  43.         (askdir
  44.             (prompt "Where do you want to install MPMorph 4.0\n\n"
  45.                     "A new drawer named 'MPMorph' will be created in the "
  46.                     "selected directory and the MPMorph files copied there")
  47.             (help @askprompt-help)
  48.             (default "Work:")
  49.         )
  50.     )
  51. )
  52.  
  53. (complete 3)
  54.  
  55. ;Check where to install libraries
  56. (Set #LibChoice
  57.     (askchoice
  58.         (prompt "Where do you want to install the libraries?\n\n"
  59.             "You can choose to install the libraries required by MPMorph "
  60.             "in the MPMorph directory, "
  61.             "your LIBS: directory, or some other directory.")
  62.         (help @askchoice-help)
  63.         (choices "In Place" "LIBS:" "Elsewhere")
  64.         (default 1)
  65.     )
  66. )
  67.  
  68. (complete 4)
  69.  
  70. (if (= #LibChoice 2)
  71.     (Set #LibDir
  72.         (askdir
  73.             (prompt "Select directory in which to install the MPMorph libraries")
  74.             (help @askdir-help)
  75.             (default "LIBS:")
  76.         )
  77.     )
  78. )
  79.  
  80. (complete 5)
  81.  
  82. ; Set up directory names
  83. (if #InPlace
  84.     (Set #DestDir (expandpath ""))
  85. )
  86. (if (NOT #InPlace)
  87.     (Set #DestDir 
  88.           (tackon #InstallDir "MPMorph")
  89.     )
  90. )
  91. (if (= #libchoice 0)
  92.     (Set #LibDir #DestDir)
  93. )
  94. (if (= #libchoice 1)
  95.     (Set #LibDir "LIBS:")
  96. )
  97. (set #GuiDir
  98.     (tackon #DestDir "Gui")
  99. )
  100. (set #IncludeDir
  101.     (tackon #DestDir "include")
  102. )
  103. (Set #RexxDir 
  104.     (tackon #DestDir "Rexx")
  105. )
  106. (Set #CursorDir 
  107.     (tackon #DestDir "Cursor")
  108. )
  109. (Set #BrushDir 
  110.     (tackon #DestDir "Brush")
  111. )
  112. (Set #TutDir 
  113.     (tackon #DestDir "Tutorial")
  114. )
  115. ;(Set #HTMLDir 
  116. ;    (tackon #DestDir "HTML")
  117. ;)
  118. (Set #DocsDir
  119.     (tackon #DestDir "Docs")
  120. )
  121. (set @default-dest 
  122.     #DestDir
  123. )
  124.  
  125. ; Determine machine config
  126. (Set #Has020
  127.     (=
  128.         (database "cpu")
  129.         68020
  130.     )
  131. )
  132. (Set #Has030
  133.     (=
  134.         (database "cpu")
  135.         68030
  136.     )
  137. )
  138. (Set #Has040
  139.     (= 
  140.         (database "cpu")
  141.         68040
  142.     )
  143. )
  144. (Set #Has060
  145.     (= 
  146.         (database "cpu")
  147.         68060
  148.     )
  149. )
  150. (Set #HasFPU
  151.     (<>
  152.         (database "fpu")
  153.         "NOFPU"
  154.     )
  155. )
  156.  
  157. (Set #CPU 0)
  158. (if #Has020
  159.     (Set #CPU 1)
  160. )
  161. (if #Has030
  162.     (Set #CPU 1)
  163. )
  164. (if (AND #Has020 #HasFPU)
  165.     (Set #CPU 2)
  166. )
  167. (if (AND #Has030 #HasFPU)
  168.     (Set #CPU 2)
  169. )
  170. (if (AND #Has040 #HasFPU)
  171.     (Set #CPU 3)
  172. )
  173. (if #Has060
  174.     (Set #CPU 4)
  175. )
  176.  
  177. (complete 6)
  178.  
  179. ; Check choice of program to install
  180. (set #CPU
  181.     (askchoice
  182.         (prompt "Install which version?")
  183.         (help "There are five versions of the MPRender program. "
  184.                 "The first requires just a 68000. "
  185.                 "The second requires a 68020. "
  186.                 "The third requires both a 68020 or 68030 CPU with a 68881 or 68882 FPU. "
  187.                 "The fourth requires a 68040. "
  188.                 "The last requires a 68080.\n\n"
  189.                 @askchoice-help)
  190.         (choices
  191.             "68000"
  192.             "68020"
  193.             "68020/030/68881/2"
  194.             "68040"
  195.             "68060"
  196.         )
  197.         (default #CPU)
  198.     )
  199. )
  200.  
  201. (if (= #CPU 4)
  202.     (
  203.     (Set #SrcImage "libs/MPImage.library.060")
  204.     (Set #SrcRender "MPRender.060")
  205.     (Set #Spatch 1)
  206.     (Set #ImagePatch "libs/MPImage.library.881")
  207.     (Set #RenderPatch "MPRender.881")
  208.     )
  209. )
  210. (if (= #CPU 3)
  211.     (
  212.     (Set #SrcImage "libs/MPImage.library.040")
  213.     (Set #SrcRender "MPRender.040")
  214.     (Set #Spatch 1)
  215.     (Set #ImagePatch "libs/MPImage.library.881")
  216.     (Set #RenderPatch "MPRender.881")
  217.     )
  218. )
  219. (if (= #CPU 2)
  220.     (
  221.     (Set #SrcImage "libs/MPImage.library.881")
  222.     (Set #SrcRender "MPRender.881")
  223.     (Set #Spatch 0)
  224.     )
  225. )
  226. (if (= #CPU 1)
  227.     (
  228.     (Set #SrcImage "libs/MPImage.library.020")
  229.     (Set #SrcRender "MPRender.020")
  230.     (Set #Spatch 1)
  231.     (Set #ImagePatch "libs/MPImage.library.000")
  232.     (Set #RenderPatch "MPRender.000")
  233.     )
  234. )
  235. (if (= #CPU 0)
  236.     (
  237.     (Set #SrcImage "libs/MPImage.library.000")
  238.     (Set #SrcRender "MPRender.000")
  239.     (Set #Spatch 0)
  240.     )
  241. )
  242. (Set #SrcRenderI (cat #SrcRender ".inf"))
  243. (Set #DestRender "MPRender")
  244. (Set #DestRenderI    (cat #DestRender ".info"))
  245. (Set #SrcGui "libs/MPGui.library")
  246. (Set #DestGui "MPGui.library")
  247. (Set #DestImage "MPImage.library")
  248. (Set #Temp "t:MPMorph.temp")
  249.  
  250. (complete 7)
  251.  
  252. (if (NOT #InPlace)
  253.     (Set #CopyGui
  254.         (askbool
  255.             (prompt "Copy GUI files?\n\n"
  256.                     "Select 'Yes' to copy the GUI files. "
  257.                     "These files may then be changed to allow you to configure the user interface. "
  258.                     "Select 'No' if you do not wish to change the interface.")
  259.             (help @askbool-help)
  260.             (default 0)
  261.         )
  262.     )
  263. )
  264.  
  265. (complete 8)
  266.  
  267. (if (NOT #InPlace)
  268.     (Set #CopyTut
  269.         (askbool
  270.             (prompt "Copy Tutorial files?\n\n"
  271.                     "A short tutorial and some image files are included. "
  272.                     "Select 'Yes' to copy the Tutorial files. "
  273.                     "Select 'No' if you do not wish to install the Tutorial.")
  274.             (help @askbool-help)
  275.             (default 1)
  276.         )
  277.     )
  278. )
  279.  
  280. (complete 9)
  281.  
  282. (if (NOT #InPlace)
  283.     (Set #CopyDoc
  284.         (askbool
  285.             (prompt "Copy Programmer files?\n\n"
  286.                     "Programmer docs and includes are included for MPGui.library and MPImage.library. "
  287.                     "Select 'Yes' to copy the docs/includes files. "
  288.                     "Select 'No' if you do not wish to install the docs/includes.")
  289.             (help @askbool-help)
  290.             (default 0)
  291.         )
  292.     )
  293. )
  294.  
  295. (complete 10)
  296.  
  297. ; Create destination directory
  298. (if (NOT #InPlace)
  299.     (makedir
  300.         #DestDir 
  301.         (infos)
  302.     )
  303. )
  304.  
  305. (complete 11)
  306.  
  307. (if
  308.     (askbool
  309.         (prompt "Do you have djpeg and cjpeg?\n\n"
  310.                 "Select 'Yes' if you have cjpeg and djpeg and you wish to "
  311.                 "use them to load and save jpeg files.")
  312.         (help @askbool-help)
  313.           (default 0)
  314.     )
  315.     (
  316.         (makedir
  317.             "ENV:MPImage"
  318.         )
  319.         (makedir
  320.             "ENVARC:MPImage"
  321.         )
  322.         (set #cjpeg
  323.             (askstring
  324.                 (prompt "Enter your command to run cjpeg\n\n"
  325.                         '"%s" should be used to in place of the input and '
  326.                         "output files")
  327.                 (help @askstring-help)
  328.                 (default 'cjpeg "%s" "%s"')
  329.             )
  330.         )
  331.         (textfile
  332.             (dest "ENV:MPImage/cjpeg")
  333.             (append #cjpeg)
  334.         )
  335.         (textfile
  336.             (dest "ENVARC:MPImage/cjpeg")
  337.             (append #cjpeg)
  338.         )
  339.         (set #djpeg
  340.             (askstring
  341.                 (prompt "Enter your command to run djpeg\n\n"
  342.                         '"%s" should be used to in place of the input and '
  343.                         "output files")
  344.                 (help @askstring-help)
  345.                 (default 'djpeg "%s" "%s"')
  346.             )
  347.         )
  348.         (textfile
  349.             (dest "ENV:MPImage/djpeg")
  350.             (append #djpeg)
  351.         )
  352.         (textfile
  353.             (dest "ENVARC:MPImage/djpeg")
  354.             (append #djpeg)
  355.         )
  356.     )
  357. )
  358.  
  359. (complete 12)
  360.  
  361. (if
  362.     (askbool
  363.         (prompt "Do you have pngtopnm and pnmtopng?\n\n"
  364.                 "Select 'Yes' if you have pngtopnm and pnmtopng and you wish to "
  365.                 "use them to load and save PNG files.")
  366.         (help @askbool-help)
  367.           (default 0)
  368.     )
  369.     (
  370.         (makedir
  371.             "ENV:MPImage"
  372.         )
  373.         (makedir
  374.             "ENVARC:MPImage"
  375.         )
  376.         (set #pnmtopng
  377.             (askstring
  378.                 (prompt "Enter your command to run pnmtopng\n\n"
  379.                         '"%s" should be used to in place of the input and '
  380.                         "output files")
  381.                 (help @askstring-help)
  382.                 (default 'pnmtopng "%s" >"%s"')
  383.             )
  384.         )
  385.         (textfile
  386.             (dest "ENV:MPImage/pnmtopng")
  387.             (append #pnmtopng)
  388.         )
  389.         (textfile
  390.             (dest "ENVARC:MPImage/pnmtopng")
  391.             (append #pnmtopng)
  392.         )
  393.         (set #pngtopnm
  394.             (askstring
  395.                 (prompt "Enter your command to run pngtopnm\n\n"
  396.                         '"%s" should be used to in place of the input and '
  397.                         "output files")
  398.                 (help @askstring-help)
  399.                 (default 'pngtopnm "%s" >"%s"')
  400.             )
  401.         )
  402.         (textfile
  403.             (dest "ENV:MPImage/pngtopnm")
  404.             (append #pngtopnm)
  405.         )
  406.         (textfile
  407.             (dest "ENVARC:MPImage/pngtopnm")
  408.             (append #pngtopnm)
  409.         )
  410.     )
  411. )
  412.  
  413. (complete 20)
  414.  
  415. ; Copy for in place installation
  416. (if #InPlace
  417.     (
  418.     (if #Spatch
  419.         (run
  420.             (cat "spatch -o" #DestRender " -p" #SrcRender ".pch " #RenderPatch)
  421.         )
  422.         (copyfiles
  423.             (source #SrcRender)
  424.             (dest #DestDir)
  425.             (newname #DestRender)
  426.         )
  427.     )
  428.     (copyfiles
  429.         (source #SrcRenderI)
  430.         (dest #DestDir)
  431.         (newname #DestRenderI)
  432.     )
  433.     (if #Spatch
  434.         (
  435.             (run
  436.                 (cat "spatch -o" #Temp " -p" #SrcImage ".pch " #ImagePatch)
  437.             )
  438.             (copylib
  439.                 (source #Temp)
  440.                 (dest #LibDir)
  441.                 (newname #DestImage)
  442.             )
  443.             (delete #temp)
  444.         )
  445.         (copylib
  446.             (source #SrcImage)
  447.             (dest #LibDir)
  448.             (newname #DestImage)
  449.         )
  450.     )
  451.     (copylib
  452.         (source #SrcGui)
  453.         (dest #LibDir)
  454.         (newname #DestGui)
  455.     )
  456.     )
  457. )
  458.  
  459.  
  460. ; Copy and rename for new drawer, delete old versions if present
  461. (if (NOT #InPlace)
  462.     (copyfiles
  463.         (prompt "Copying Non CPU specific files")
  464.           (help @copyfiles-help)
  465.         (source "")
  466.         (dest #DestDir)
  467.         (choices "MPMorph" "EditPrefs" "MPImage" "MPMorph-prefs" "MPRender-prefs"
  468.                     "RunMPGui" "ConvertMPImage" "EdgePoints" "RunMPIndex" 
  469.                     "Docs.Index"
  470.                     "MPMorph-rexx" "MPRender-rexx" "EditPrefs-rexx"
  471.                     "MPMorph.guide" "MPImage.guide"
  472.                     "MPRender.guide" "RunMPIndex.guide" "EdgePoints.guide"
  473.                     "Preview.guide" "EditPrefs.guide" "Tutorial.guide"
  474.                     "MPGui.guide" "Readme.unix")
  475.         (infos)
  476.         (confirm)
  477.     )
  478. )
  479.  
  480. (complete 30)
  481.  
  482. ; Copy for new drawer
  483. (if (NOT #InPlace)
  484.     (
  485.         (if #Spatch
  486.             (
  487.                 (run
  488.                     (cat "spatch -o" #Temp " -p" #SrcRender ".pch " #RenderPatch)
  489.                 )
  490.                 (copyfiles
  491.                     (source #Temp)
  492.                     (dest #DestDir)
  493.                     (newname #DestRender)
  494.                 )
  495.             )
  496.             (copyfiles
  497.                 (source #SrcRender)
  498.                 (dest #DestDir)
  499.                 (newname #DestRender)
  500.             )
  501.         )
  502.         (copyfiles
  503.             (source #SrcRenderI)
  504.             (dest #DestDir)
  505.             (newname #DestRenderI)
  506.         )
  507.         (if #Spatch
  508.             (
  509.                 (run
  510.                     (cat "spatch -o" #Temp " -p" #SrcImage ".pch " #ImagePatch)
  511.                 )
  512.                 (copylib
  513.                     (source #Temp)
  514.                     (dest #LibDir)
  515.                     (newname #DestImage)
  516.                 )
  517.                 (delete #temp)
  518.             )
  519.             (copylib
  520.                 (source #SrcImage)
  521.                 (dest #LibDir)
  522.                 (newname #DestImage)
  523.             )
  524.         )
  525.         (copylib
  526.             (source #SrcGui)
  527.             (dest #LibDir)
  528.             (newname #DestGui)
  529.         )
  530.     )
  531. )
  532.  
  533. (complete 40)
  534.  
  535. ;(if InPlace
  536. ;    (if
  537. ;        (askbool
  538. ;            (prompt "Do you have Mosaic?")
  539. ;            (help "Select 'Yes' if you have Mosaic and wish to use it to view the "
  540. ;                    ".hmtl documentation.")
  541. ;            (default 0)
  542. ;        )
  543. ;        (
  544. ;            (set Mosaic
  545. ;                (askfile
  546. ;                    (prompt "Where is Mosaic?")
  547. ;                    (help "The exact location and name of Mosaic is required "
  548. ;                            "to enable a script to be set up to view the documentation.")
  549. ;                    (default "work:Mosaic")
  550. ;                )
  551. ;            )
  552. ;            (textfile
  553. ;                 (dest (tackon DestDir "View_HTML"))
  554. ;                 (append "cd HTML\n")
  555. ;                 (append Mosaic " file://localhost/MPMorph:html/MPMorph.html")
  556. ;            )
  557. ;        )
  558. ;    )
  559. ;)
  560.  
  561. (makedir "ENVARC:MPMorph")
  562.  
  563. (complete 50)
  564.  
  565. (copyfiles
  566.     (prompt "Copying Icons to ENVARC:")
  567.     (help @copyfiles-help)
  568.     (source "")
  569.     (dest "ENVARC:MPMorph")
  570.     (choices "ENV/MPMorph/def_points.info"
  571.                 "ENV/MPMorph/def_pic.info"
  572.                 "ENV/MPMorph/def_prefs.info")
  573.     (confirm)
  574. )
  575.  
  576. (complete 60)
  577.  
  578. (makedir "ENV:MPMorph")
  579.  
  580. (copyfiles
  581.     (prompt "Copying Icons to ENV:")
  582.     (help @copyfiles-help)
  583.     (source "")
  584.     (dest "ENV:MPMorph")
  585.     (choices "ENV/MPMorph/def_points.info"
  586.                 "ENV/MPMorph/def_pic.info"
  587.                 "ENV/MPMorph/def_prefs.info")
  588.     (confirm)
  589. )
  590.  
  591. ;
  592. ;(startup "MPMorph"
  593. ;    (prompt "Adding assign MPMorph: to " DestDir " in s:user-startup")
  594. ;    (help @startup-help)
  595. ;    (command "Assign MPMorph: " DestDir)
  596. ;)
  597. ;
  598. ;(makeassign "MPMorph" DestDir)
  599.  
  600. (complete 70)
  601.  
  602. (if #InPlace
  603.     (
  604.         (complete 100)
  605.         (exit)
  606.     )
  607. )
  608.  
  609. (makedir
  610.     #RexxDir
  611. )
  612.  
  613. (complete 75)
  614.  
  615. (copyfiles
  616.     (prompt "Copying example Rexx scripts")
  617.     (help @copyfiles-help)
  618.     (source "Rexx")
  619.     (dest #RexxDir)
  620.     (all)
  621.     (confirm)
  622. )
  623.  
  624. (complete 80)
  625.  
  626. (if #CopyGui
  627.     (
  628.         (makedir #CursorDir)
  629.         (copyfiles
  630.             (prompt "Copying Pointer files")
  631.             (help @copyfiles-help)
  632.             (source "Cursor")
  633.             (dest #CursorDir)
  634.             (all)
  635.             (confirm)
  636.         )
  637.         (complete 55)
  638.         (makedir #BrushDir)
  639.         (copyfiles
  640.             (prompt "Copying Gadget files")
  641.             (help @copyfiles-help)
  642.             (source "Brush")
  643.             (dest #BrushDir)
  644.             (all)
  645.             (confirm)
  646.         )
  647.     )
  648. )
  649.  
  650. (complete 85)
  651.  
  652. (if #CopyTut
  653.     (
  654.         (makedir #TutDir)
  655.         (copyfiles
  656.             (prompt "Copying Tutorial files")
  657.             (help @copyfiles-help)
  658.             (source "Tutorial")
  659.             (dest #TutDir)
  660.             (all)
  661.             (confirm)
  662.         )
  663.     )
  664. )
  665.  
  666. ;(if
  667. ;    (askbool
  668. ;        (prompt "Copy .html files?")
  669. ;        (help "Documentation is also included in .html format. "
  670. ;                "You will need Mosaic to read these files. "
  671. ;                "If you do not have Mosaic (or do not know what it is) then "
  672. ;                "you will not want to copy the files. "
  673. ;                "Select 'Yes' to copy the .html files. "
  674. ;                "Select 'No' if you do not wish to install the .html files.")
  675. ;        (default 0)
  676. ;    )
  677. ;    (
  678. ;        (makedir HTMLDir)
  679. ;        (copyfiles
  680. ;            (prompt "Copying .html files")
  681. ;            (help @copyfiles-help)
  682. ;            (source "HTML")
  683. ;            (dest HTMLDir)
  684. ;            (all)
  685. ;        )
  686. ;        (complete 75)
  687. ;        (copyfiles
  688. ;            (prompt "Copying View_HTML icon")
  689. ;            (help @copyfiles-help)
  690. ;            (source "")
  691. ;            (dest DestDir)
  692. ;            (choices "View_HTML.info")
  693. ;        )
  694. ;        (set Mosaic
  695. ;            (askfile
  696. ;                (prompt "Where is Mosaic?")
  697. ;                (help "The exact location and name of Mosaic is required "
  698. ;                        "to enable a script to be set up to view the documentation.")
  699. ;                (default "work:Mosaic")
  700. ;            )
  701. ;        )
  702. ;        (textfile
  703. ;             (dest (tackon DestDir "View_HTML"))
  704. ;             (append "cd HTML\n")
  705. ;             (append Mosaic " file://localhost/MPMorph:html/MPMorph.html")
  706. ;        )
  707. ;    )
  708. ;)
  709.  
  710. (complete 90)
  711.  
  712. (copyfiles
  713.     (prompt "Copying gui scripts")
  714.     (help @copyfiles-help)
  715.     (source "Gui")
  716.     (dest #GuiDir)
  717.     (all)
  718. )
  719.  
  720. (complete 95)
  721.  
  722. (if #CopyDoc
  723.     (
  724.         (makedir #DocsDir)
  725.         (copyfiles
  726.             (prompt "Copying Docs")
  727.             (help @copyfiles-help)
  728.             (source "Docs")
  729.             (dest #DocsDir)
  730.             (all)
  731.         )
  732.         (makedir #IncludeDir)
  733.         (copyfiles
  734.             (prompt "Copying Includes")
  735.             (help @copyfiles-help)
  736.             (source "Include")
  737.             (dest #IncludeDir)
  738.             (all)
  739.         )
  740.     )
  741. )
  742.  
  743. (complete 100)
  744.